Cloud computing involves the use of computing resources (hardware and software) that are delivered as a service over a network (typically the Internet). To reduce the costs of providing the service to a plurality of consumers, cloud computing systems may use some form of resource sharing. For example, in some cloud computing models, consumers may share database resources.
One approach to the shared database model involves providing each consumer with their own database instance in a corresponding virtual machine. This approach allows users to share a virtual machine to access database resources. However, the scalability of this approach may be limited, as the number of virtual machines that the service provides may be restricted by the number of underlying processors of the physical machine. Furthermore, each virtual machine involves the overhead of the entire solution stack, from the operating system to the database instance.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.